package com.wdz.service.impl;

import com.alibaba.nacos.api.NacosFactory;
import com.alibaba.nacos.api.PropertyKeyConst;
import com.alibaba.nacos.api.common.Constants;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.exception.NacosException;
import com.wdz.service.NacosConfigService;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

/**
 * nacos配置操作实现类
 */
@Service
public class NacosConfigServiceImpl implements NacosConfigService {

    /**
     * 获取配置文件
     * @param data_id 配置文件名
     * @param group 分组
     * @param tenant 命名空间
     * @return
     * @throws NacosException
     */
    @Override
    public String getConfig(String data_id, String group, String tenant) throws NacosException {
        Properties properties = new Properties();
        // nacos服务器地址，127.0.0.1:8848
        properties.put(PropertyKeyConst.SERVER_ADDR, "http://119.29.56.176:8848");
        // 配置中心的命名空间id
        properties.put(PropertyKeyConst.NAMESPACE, tenant);
        ConfigService configService = NacosFactory.createConfigService(properties);
        // 根据dataId、group定位到具体配置文件，获取其内容. 方法中的三个参数分别是: dataId, group, 超时时间
        return configService.getConfig(data_id, group, 3000L);
    }
}
